package com.example.robertluozizhao.framecollectdemo.activity;

import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;

import com.example.robertluozizhao.framecollectdemo.R;

import butterknife.ButterKnife;
import butterknife.OnClick;

/**
 * Created by robert.luozizhao on 2018/1/18.
 */

public class InflateActivity extends AppCompatActivity {

    private LinearLayout linearLayout;

    /***
     * inflate方法
     * root 指定添加进的父容器
     * attachToRoot 添加（返回root）/不添加(返回resource)
     */

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.inflate_main_test);
        ButterKnife.bind(this);
        linearLayout = (LinearLayout) findViewById(R.id.inflate_ll);

    }

    @OnClick({R.id.btn01, R.id.btn02, R.id.btn03, R.id.btn04})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.btn01:
                //1  root不为null   attachToRoot为true
                LayoutInflater.from(this).inflate(R.layout.inflate_item_test, linearLayout, true);
                break;
            case R.id.btn02:
                //2 root不为null   attachToRoot为false --> 不添加进入容器 子view的属性失效所以看不见，这时addView才有效果。
                View resource = LayoutInflater.from(this).inflate(R.layout.inflate_item_test, linearLayout, false);
                linearLayout.addView(resource);
                break;
            case R.id.btn03:
                //3 root为null   attachToRoot为true 没有容器添加进去  （子view的linearlayout属性没有父类容器的参照 造成属性无效）
                 LayoutInflater.from(this).inflate(R.layout.inflate_item_test, null, true);
                break;
            case R.id.btn04:
                //4 root为null   attachToRoot为false 没有容器添加进去,attactToRoot为false也不容许添加进入  （子view的linearlayout属性没有父类容器的参照 造成属性无效）
                View resource1 = LayoutInflater.from(this).inflate(R.layout.inflate_item_test, null, false);
                linearLayout.addView(resource1);
                break;
        }
    }
}
